/******************************************************************************
 * @File name   :      ICardDefinitionDao.java
 *
 * @Author      :      JIZHANGS
 *
 * @Date        :      Aug 11, 2015
 *
 * @Copyright Notice: 
 * Copyright (c) 2015 Capgemini, Inc. All  Rights Reserved.
 * This software is published under the terms of the Capgemini Software
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file.
 * 
 * 
 * ----------------------------------------------------------------------------
 * Date                   Who         Version        Comments
 * Aug 11, 2015 6:01:44 PM        JIZHANGS     1.0            Initial Version
 *****************************************************************************/
package com.cap.bts.crmdp.dealer.card.dao;

import java.util.List;

import com.cap.bts.crmdp.dealer.card.domain.CardDefinition;
import com.cap.bts.crmdp.dealer.card.dto.CardDefineQueryDto;
import com.cap.bts.framework.common.dao.IBaseDao;
import com.cap.bts.framework.common.exception.AppException;

/**
 *
 */
public interface ICardDefineDao extends IBaseDao<CardDefinition, Long> {

    List<CardDefinition> getCardDefinitionListByDto(CardDefineQueryDto dto) throws AppException;

    List<CardDefinition> getGenerateDefinitionListByDto(CardDefineQueryDto dto) throws AppException;

    void updateCardDefinition(CardDefinition cd) throws AppException;

    CardDefinition addCardDefinition(CardDefinition cd) throws AppException;

    void deleteCardDefinition(CardDefinition cd) throws AppException;

    public Integer getCardDefinitionCount(CardDefineQueryDto dto) throws AppException;

    /**
     * 查询所有的卡片信息
     * @return
     * @throws AppException
     */
    public List<CardDefinition> getCardList() throws AppException;
}
